package com.cdu.guoxinan.www.smartcom.mapper;

import com.cdu.guoxinan.www.smartcom.domian.dto.*;
import com.cdu.guoxinan.www.smartcom.domian.pojo.Page;
import com.cdu.guoxinan.www.smartcom.domian.pojo.User;

import java.util.List;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

@Mapper
public interface UserMapper {
    boolean updateUser(UserProfileDTO updataUserDTO);
    boolean updateResident(UserProfileDTO updataUserDTO);

    List<User> query(QueryUserDTO queryUserDTO);

    User login(LoginDTO loginDto);

    int register(registerDTO registerDTO);

    int resetPassword(ResetDTO resetDTO);

    User queryByeMail(String email);

    int add(User user);

    List<Page> getLevel(Long userId);

    String getRole(Long userId);

    User findByUsername(String username);

    Integer getUserId(String username);

    void updateUserRole(@Param("roleId") int id, @Param("Id") int i);

    /**
     * 根据用户ID查询用户详情
     */
    UserProfileDTO getUserProfileById(Long userId);


    int changePassword(ChangePasswordDTO dto);

    int updata(UpdataUserDTO updataUserDTO);
}
